Method,system, and computer program product for employment market statistics generation and analysis

ABSTRACT

A method of generating employment market characteristics from a network includes the steps of accessing an employment resource including data via a network, matching the data to one of a plurality of employment market categories, and updating at least one statistical indicator associated with the matched employment market category.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This patent application claims priority to and is entitled to the benefit of Provisional Patent Application No. 60/199,376, filed Apr. 25, 2000 entitled “Method, System, and Computer Program Product for Employment Market Statistics Generation and Analysis.” This provisional application is incorporated herein by reference in its entirety.

[0002] The copending U.S. patent application entitled “Timing Module for Regulating Hits by a Spidering Engine,” U.S. application Ser. No.09/552,559, filed on Apr. 19, 2000, Atty. Docket No. 1921.0050000, is related to the present application, and is herein incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

[0003] 1. Field of the Invention

[0004] The present invention is directed to the collection of market statistics from a network.

[0005] 2. Background Art

[0006] “Web crawlers”, “robots”, or “spider engines” are programs used to automatically search the Internet for web pages or documents of interest. The information found by the spider engine may be collected, cataloged, and otherwise used by search engines. For example, a spider engine may be directed to search for and collect particular types of data, such as product catalog information, or may randomly search and catalog all found web pages to create a web index. The spider engine may enter a particular web site, and search one or more web pages of the web site for information of interest.

[0007] Spider engines can collect a large amount of information. This information is difficult to analyze. Accordingly, there is a need for a method, system, and computer program product that generates statistics from data collected from a network.

BRIEF SUMMARY OF THE INVENTION

[0008] The present invention provides for the generation and analysis of market statistics from a network. A method of the present invention includes the steps of accessing a resource including data via a network, matching the data to one of a plurality of market categories, and updating at least one statistical indicator associated with the matched market category. These accessing, matching, and updating steps may be repeatedly performed.

[0009] The market categories may be associated with an employment market. In this example, the resource may be an employment resource, such as a resume or a job listing, and each of the plurality of market categories may correspond to a particular labor type and region.

[0010] Updating at least one statistical indicator may include incrementing one or more counters associated with the matched market category. In the context of an employment market, exemplary counters include the number of resumes associated with an employment market category, and the number of job listings associated with an employment market category.

[0011] Additionally or alternatively, this updating may include calculating a ratio of two statistical indicators. An exemplary ratio is number of resumes associated with a matched employment market category to the number of job listings associated with the matched employment market category.

[0012] Furthermore, this updating step may include marking the statistical indicator with a time stamp that indicates a current time interval, and storing the marked statistical indicator.

[0013] Matching the data to one of a plurality of market categories may include matching the employment resource to a raw category; matching the employment resource to an interim category; and matching the employment resource to an employment market category.

[0014] For each of the plurality of market categories, the associated statistical indicators may be plotted.

[0015] An advantage of the present invention is the ability to provide an accurate assessment of employment market characteristics.

BRIEF DESCRIPTION OF THE FIGURES

[0016] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention, and together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.

[0017]FIG. 1 illustrates an exemplary computer network according to an embodiment of the present invention.

[0018]FIG. 2 is a flowchart illustrating a top level sequence of operation, according to the present invention.

[0019]FIG. 3 is a flowchart illustrating the generation of employment market statistics, according to the present invention.

[0020]FIG. 4 is a flowchart illustrating the matching of data into employment market categories, according to the present invention.

[0021]FIGS. 5, 6, and 7 are exemplary output charts, according to the present invention.

[0022]FIG. 8A is a diagram of an example internetwork environment according to the present invention.

[0023]FIG. 8B shows a simplified four-layered communication model supporting Web commerce.

[0024]FIG. 8C is a block diagram of a computer system according to an example implementation of the present invention.

[0025] The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.

DETAILED DESCRIPTION OF THE INVENTION System Level Description

[0026]FIG. 1 illustrates an exemplary computer network 100 according to embodiments of the present invention. Computer network 100 includes an analysis node 112, a network 114, and a plurality of employment resources 116. Analysis node 112 includes a spider engine 102, a market database 104, a template database 106, a user interface 108, and a statistical analysis engine 110.

[0027] Spider engine 102 is connected to network 114 and conducts searches directed at gathering data from employment resources 116 across network 114. These searches are performed according to search criteria contained in templates that spider engine 102 receives from template database 106. Spider engine 102 can be implemented with hardware, software, firmware, or any combination thereof.

[0028] Network 114 is connected to spider engine 102 and one or more employment resources 116. In one embodiment, network 114 is a data network capable of transmitting information between processing platforms. An exemplary data network 114 is an Internet Protocol (IP), packet-switched network, such as the global Internet or an intranet. However, data network 114 can be other types of networks, such as a local area network (LAN), an asynchronous transfer mode (ATM) network, an X.25 network, a wireless packet-switched network, or any other network which would be apparent to persons skilled in the relevant art(s) from the teachings herein.

[0029] Employment resources 116 are also connected to network 114. Each employment resource 116 comprises data related to the employment market. In an embodiment, this employment market includes the market for independent consultants. Examples of employment resources 116 include resumes and job listings. In an embodiment, employment resources 116 are files stored in content servers (not shown) that are connected to data network 114. These files can be formatted according to markup languages such as HyperText Markup Language (HTML), Standard Generalized Markup Language (SGML), and other markup languages that would be apparent to persons skilled in the relevant art(s).

[0030] Accordingly, examples of employment resources 116 include online job postings on a company's (or other organization's) website, job and/or resume listings on an employment bulletin board, and job and/or resume listings on a placement service's website. However, employment resources can be other information resources accessible through a network, such as network 114.

[0031] Spider engine 102 accesses employment resources 116 via network 114 according to a client-server paradigm. In accordance with this paradigm, spider engine 102 accesses a particular employment resource 116 by sending a request across network 114. This request, also referred to herein as a query, is directed to a server or processing entity that stores the employment resource 116.

[0032] After such a request is received, a response is sent to spider engine 102 via network 114. This response includes the requested employment resource 116. In one embodiment, this client-server paradigm is conducted according to a protocol known as the Hypertext Transfer Protocol (HTTP). However, in further embodiments, other known protocols and/or communication schemes can be used in accordance with the present invention.

[0033] In embodiments of the present invention, statistical analysis node 112 comprises a plurality of spider engines 102 that can concurrently access employment resources independently or pursuant to a coordinated management process. Furthermore, spider engine(s) 102 can be implemented and/or operate as described in the co-pending application entitled “Timing Module for Regulating Hits by a Spidering Engine,” U.S. application Ser. No. 09/552,559, filed on Apr. 19, 2000, Atty. Docket No. 1921.0050000, (incorporated herein by reference in its entirety).

[0034] As described above, spider engine 102 uses templates received from template database 106 to extract data from received employment resources 116. According to the present invention, templates are written in a description language and include a series of codes or descriptors. Templates can be implemented in the form of computer files, data structures, network messages, or in other forms apparent to persons skilled in the relevant art(s) from the teachings herein. These codes and descriptors provide spider engine 102 with a list of data contained in employment resources 116, and indicate where such data resides within each employment resource 116.

[0035] Templates also direct spider engine 102 to organize data extracted from a received employment resource 116 into one or more data records. These data records include one or more fields. Each field contains a data item extracted from an employment resource 116. In the case of a resume, exemplary data items include name, age, vocation, education, employment objective, residence, phone number, and e-mail address. In the case of a job listing, exemplary data items include job title, employer, job location, employer contact information, and minimum eligibility requirements. However, the present invention can include other data items, as would be apparent to person skilled in the relevant art(s).

[0036] Market database 104 stores information pertaining to employment markets. In one embodiment, data record(s) extracted from employment resources 116 are stored in market database 104. Market database 104 can also store data derived from other sources. Examples of such data include economic information, such as population growth, spending data, eCommerce activities, the number of fortune 500 companies within a region, and other information apparent to persons skilled in the relevant art(s).

[0037] In an embodiment, user interface 108 is an output device that enables a user to receive information. Accordingly, user interface 108 can be a display and/or a printer. However, user interface 108 can also be other types of output devices, as would be apparent to persons skilled in the relevant art(s).

[0038] Statistical analysis engine 110 analyzes and processes data received from spider engine 102 and/or market database 104. As stated above, this data includes data extracted from employment resources 116. However, this data can also include other data, such as economic information stored in market database 104. In particular, statistical analysis engine 110 processes this data and generates statistics about employment markets. Statistical analysis engine 110 also outputs these statistics for analysis and interpretation by a user. Statistical analysis engine 110 can be implemented with hardware, software, firmware, or any combination thereof.

[0039] According to the present invention, analysis node 112 can be implemented as one or more systems comprising hardware, software, firmware, or any combination thereof. For example, spider engine 102 and statistical analysis engine 110 can be implemented by one or more computer systems. Furthermore, the elements of analysis node 112 can be distributed across network 114 and/or other networks, as would be apparent to persons skilled in the relevant art(s).

Operation

[0040]FIG. 2 is a flowchart illustrating a top level operation of the present invention. This operation begins with a step 202. In step 202, employment market statistics are generated. In an embodiment, step 202 comprises a sequence of steps that are described below with reference to FIG. 3. Step 202 can be performed by statistical analysis engine 110, in conjunction with spider engine 102.

[0041] Next, in a step 204, statistics are output for analysis and interpretation by a user. In an embodiment, these statistics are output as charts by user interface 108. Step 204 can be performed by statistical analysis engine 110.

[0042] Next, in a step 206, a user analyzes statistics that are output in step 204. This analysis enables a user to determine dynamics and characteristics of employment markets.

[0043]FIG. 3 is a flowchart illustrating a performance step 202 in greater detail. This performance begins with a step 302. In step 302, spider engine 102 obtains searching criteria from a template stored in template database 106. As described above, templates are used to describe information that spider engine 102 is seeking. Templates are written in a description language that describes resources across network 114. This description language describes what data is in each employment resource 116, and where data resides within each employment resource 116. Collectively, these descriptors form what is referred to herein as searching criteria because they determine which resources to gather across network 114, and how to seek and extract data from each of these resources.

[0044] Next, a step 304 is performed. In step 304, spider engine 102 searches for resources according to searching criteria contained in the template received from template database 106. According to the present invention, these resources are employment resources 116, as described above. These searching criteria can include search terms and optional logical expressions that specify desired information to be found in employment resources 116. This searching results in the identification of one or more resources that include information matching this searching criteria.

[0045] Next, in a step 306, spider engine 102 accesses a resource that satisfies the searching criteria. In one embodiment, this step comprises the steps of sending a client request across network 114 to a server or processing entity that contains a particular employment resource 116, and receiving the particular employment resource 116 via network 114. This request and response can be conducted according to the HTTP protocol, or any other protocol or scheme, as would be apparent to persons skilled in the relevant art(s).

[0046] A step 308 follows the performance of step 306. In step 308, spider engine 102 extracts data from the employment resource 116 accessed in step 306. This data extraction is performed according to codes and descriptors contained in the template received from template database 106 during the performance of step 302. For example, desired information can be parsed from resource 116 (e.g., a resume or a job listing), according to templates that correspond to the format of the particular resource 116.

[0047] In one embodiment, this extracted data is stored in data records. However, in a further embodiment, this data is stored internally in a composite data structure.

[0048] A step 310 follows the performance of step 308. In step 310, data extracted in step 308 is matched to one of a plurality of employment market categories. Employment market categories are statistical categories that are used to analyze data collected from a plurality of employment resources 116. In an embodiment, step 310 is performed by statistical analysis engine 110. The performance of this step is described in greater detail with reference to FIG. 4.

[0049] After step 310 is completed, a step 312 is performed. In step 312, statistical analysis engine 110 updates statistical indicators associated with the employment market category matched in step 310. In one embodiment, this step comprises incrementing a statistical counter associated with the matched employment market category. However, in accordance with the present invention, other types of statistical indicators can be updated.

[0050] A step 314 follows the performance of step 312. In step 314, the present invention determines whether to continue searching. This determination can be based on user specified parameters, dynamic run-time conditions, and/or other criteria, as would be apparent to persons skilled in the relevant art(s). Accordingly, if further searching is to be conducted, steps 302 through 312 are repeated. Otherwise, the generation of employment market statistics pursuant to step 202 is complete.

[0051] As described herein, steps 302 through 312 can be performed repeatedly. Often, one or more of these performances are associated with a time interval, such as a day, a week, a month, or any other time interval apparent to persons skilled in the relevant arts. Therefore, to associate market statistics with a particular time interval, step 312 may include the steps of marking the updated statistical indicator with a time stamp that indicates a current time interval and storing the marked statistical indicator for future access. These marking and storing steps can be performed by statistical analysis engine 110. Also, the statistics stored pursuant to this step, can be stored in market database 104.

[0052] Employment resources 116, such as job descriptions and resumes, can express talent, objectives, and employment opportunities in very diverse terms. This diversity can make the assessment of employment market characteristics difficult. In step 310 of FIG. 3, statistical analysis engine 110 matches data extracted from an accessed employment resource 116 with one of a plurality of employment market categories. This plurality of employment market categories provides a framework for a tractable assessment of employment market characteristics.

[0053] According to the present invention, employment market categories can be developed according to a variety of schemes. Examples of such schemes include labor type, region, labor type by region, and any other scheme that would be apparent from the teachings herein. A brief description of these schemes are provided below in Table 1. TABLE 1 Employment Market Category Development Scheme Description Labor Type Categorizes employment markets by certain industries and/or vocations, such as information technology (IT), engineering, marketing, management, and accounting. Region Categorizes employment markets according to regional divisions, such as cities, states, zip codes, metropolitan areas, and other geographical regions Labor Type By Region Categorizes employment markets according to labor type as described above on a region by region basis.

[0054] Unfortunately, employment resources 116 do not contain information that expressly categorizes them into particular employment market categories. For example, many resources 116 may be considered to be within the labor type employment market category of hospitality. However, these resources 116 may not include the term “hospitality.” Instead, the resources 116 may include terms, such as “hotel,” “resort,” and/or “restaurant.”

[0055] Accordingly, to provide for effective statistical analysis, the present invention features a category matching technique that matches resources to various employment market categories according to a multi-tiered matching strategy. An example of this strategy is described below with reference to FIG. 4.

[0056]FIG. 4 is a flowchart illustrating the performance of step 310 in greater detail. This performance begins with a step 402. In step 402, data extracted from an employment resource 116 in step 308 is matched to a raw category. In an embodiment, raw categories correspond to categories provided in employment resources 112. For example, in the case of a job listing, a raw category can be a job title contained in the job listing. In the case of a resume, a raw category can be an employment objective contained in the resume. However, raw categories can also be based on other data extracted from employment resources.

[0057] After the performance of step 402, a step 404 is performed. In step 404, the data extracted from an employment resource 116 in step 308 is matched to an interim category. According to the present invention, there are fewer interim categories than raw categories.

[0058] A step 406 follows step 404. In step 406, the data extracted from an employment resource 116 in step 308 is matched to an employment market category. According to the present invention, there are fewer employment market categories than interim categories. The matched employment market category can be based on a labor type, a region, or a labor type by region scheme, as described above. In addition, the matched employment market category can be based on any other scheme that would be apparent to persons skilled in the relevant art(s).

[0059] According to the present invention, steps 402,404, and 406 are performed according to word matching techniques that compare portions of words, such as word beginnings and endings. These techniques enable the matching of employment resources 116 to the appropriate raw, interim, and employment market categories. These techniques can involve fuzzy logic, and/or other technologies. In an embodiment of the present invention, step 402 is performed by statistical analysis engine 110.

[0060] As described above with reference to FIG. 2, the present invention outputs statistics in step 204. These statistics are generated during the performance of step 202, which was described above in greater detail with reference to FIG. 3. In one embodiment, these statistics are output in the form of one or more charts. However, in further embodiments, these statistics are output as tabular data, and/or in any other form that would be apparent to a person skilled in the relevant art(s).

[0061] These charts are organized according to employment market categories. As described above, employment market categories can be developed according to various schemes such as labor type, region, and labor type by regions. For each of these employment market categories, there are one or more statistical indicators that characterize the corresponding employment market category. In an embodiment where network 114 is the Internet, these assessment are highly accurate because, in the aggregate, employment resources accessible via the Internet (as well as other data networks) accurately reflect employment markets in general.

[0062] Using labor category by region as an example, the IT labor type in one region can have statistical indicators of 100 resumes and 300 job listings. Alternatively, the IT labor type in a different region may have statistical indicators of 500 resumes and only 100 job listings. Based on such statistical indicators, user(s) can perform analysis of employment market characteristics.

[0063]FIG. 5 is a first exemplary output chart 500. According to the present invention, this chart can be generated during the performance of step 204. Output chart 500 illustrates a bar chart containing statistical indicators for a plurality of labor type by region employment market categories. These statistical indicators are number of resumes and number of job listings for a plurality of labor type by region market categories. In output chart 500, for each region and labor type category the number of job listings a plotted adjacent to the number of resumes. This juxtaposition enables an indication as well as a basis for comparison of supply and demand in each individual employment market category.

[0064]FIG. 6 is a second exemplary output chart 600. Like output chart 500, this chart can also be generated during the performance of step 204. Output chart 600 illustrates the ratio of job listings to resumes for a plurality of labor type by region market categories. As shown in FIG. 6, output chart 600 is a bar chart containing statistical indicators for a plurality of labor type by region employment market categories. These statistical indicators are the ratios of the number of job listings to the number of resumes for a plurality of labor type by region market categories. In output chart 600, These indicators are plotted in decreasing order to enable a user to identify regions where demand for employment is high.

[0065] As described above with reference to FIG. 4, the present invention can associate market statistics with particular time intervals and store these statistics in market database 104. Accordingly, step 204 can include outputting a plurality of statistics that are each associated with a particular time interval. This feature advantageously enables a user to identify trends, such as employment market trends.

[0066]FIG. 7 is a third exemplary output chart 700. According to the present invention, this chart can be generated during the performance of step 204. Output chart 700 illustrates a bar chart containing statistical indicators for a particular labor type by region employment market category. These statistical indicators are number of job listings for a series of months. In output chart 700, for each month the number of job listings for marketing jobs in Texas is plotted adjacent versus a time axis that indicates corresponding months. This plotting arrangement indicates the dynamic nature of this employment market category statistic and enables trend identification. For example, output chart 700 indicates that the number of marketing jobs in Texas has been increasing. This trend identification enables forecasting of employment marketing statistics.

[0067] As described above with reference to FIG. 2, in step 206, a user analyzes data that is output during the performance of step 204. For instance, using the exemplary output illustrated in FIGS. 5-7, a user can assess and compare the demand for particular labor types across different regions. This assessment and comparison enables user(s) to determine the likelihood of employment placings, as well as other characteristics of labor market categories. These determinations enable users that match people such as independent consultants with jobs and projects to focus on labor market categories where there is a high demand. For example, as shown in FIG. 6, for the employment market category of management jobs in Illinois, there is a higher ratio of jobs to resumes than in the employment market category of marketing jobs in Florida. Accordingly, these indicators can support the conclusion that there is a higher likelihood of placement for management jobs in Illinois than for marketing jobs in Florida.

[0068] Moreover, step 206 may comprise a user analyzing trends in an employment market. For example, a user may review information (e.g., statistics), such as the exemplary statistics shown in FIG. 7 that indicates the dynamic nature of employment market category statistics. Accordingly, step 206 can include trend identification, and market category statistics forecasting.

[0069] For example, chart 700 indicates a trend of increasing employment opportunities. This trend of increasing opportunities can be used to forecast further increases. Such forecasting can advantageously provide assistance in planning activities, such as market price (e.g., wage and/or salary) prediction, and transactional lead times (e.g., time necessary to fill staffing/labor requirements with employees and/or consultants).

Example Network Environment

[0070] The present invention can be implemented in any communication network, such as, the Internet, which supports interactive services and applications. In particular, the present invention can be implemented in any Web service, preferably a Web service supporting secure transactions, such as, the Secure Socket Layer (SSL) protocol and/or using a Secure HyperText Transport Protocol (S-YTTP). In one example, the present invention is implemented in a multi-platform (platform independent) programming language such as Java 1.1. Java-enabled browsers are used, such as, Netscape, Hotjava, and Microsoft Explorer browsers. Active content Web pages can be used. Such active content Web pages can include Java applets or ActiveX controls, or any other active content technology developed now or in the future. The present invention, however, is not intended to be limited to Java or Java-enabled browsers, and can be implemented in any programming language and browser, developed now or in the future, as would be apparent to a person skilled in the art given this description.

[0071]FIG. 8A is a diagram of an example internetwork environment according to the present invention. FIG. 8A shows a communication network or combination of networks (Internet) 800 which can support the invention. Internet 800 consists of interconnected computers which supports communication between many different types of users including businesses, universities, individuals, government, and financial institutions. Internet 800 supports many different types of communication links implemented in a variety of architectures. For example, voice and data links can be used including phone, paging, cellular, and cable TV (CATV) links. Terminal equipment can include local area networks, personal computers with modems, content servers of multi-media, audio, video, and other information, pocket organizers, Personal Data Assistants (PDAs), and set-top boxes.

[0072] Communication over a communication network such as, Internet 800, is carried out through different layers of communication. FIG. 8B shows a simplified four-layered communication model supporting Web commerce including an application layer 808, transport layer 810, Internet layer 820, physical layer 830. As would be apparent to a person skilled in the art, in practice, a number of different layers can be used depending upon a particular network design and communication application. Application layer 808 represents the different tools and information services which are used to access the information over the Internet. Such tools include, but are not limited to, telnet log-in service 801, IRC chat 802, Web service 803, and SMTP (Simple Mail Transfer Protocol) electronic mail service 806. Web service 803 allows access to HTTP documents 804, and FIP and Gopher files 805. A Secure Socket Layer (SSL) is an optional protocol used to encrypt communications between a Web browser and Web server.

[0073] Description of the example environment in these terms is provided for convenience only. It is not intended that the invention be limited to application in this example environment. In fact, after reading the following description, it will become apparent to a person skilled in the relevant art how to implement the invention in alternative environments.

Example Computer System

[0074] An example of a computer system 840 is shown in FIG. 8C. The computer system 840 represents any single or multi-processor computer. Single-threaded and multi-threaded computers can be used. Unified or distributed memory systems can be used.

[0075] Computer system 840 includes one or more processors, such as processor 844. One or more processors 844 can execute software implementing the process described above with reference to FIGS. 2, 3, and 4. Each processor 844 is connected to a communication infrastructure 842 (e.g., a communications bus, cross-bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.

[0076] Computer system 840 also includes a main memory 846, preferably random access memory (RAM), and can also include a secondary memory 847. The secondary memory 847 can include, for example, a hard disk drive 850 and/or a removable storage drive 852, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 852 reads from and/or writes to a removable storage unit 854 in a well known manner. Removable storage unit 854 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to by removable storage drive 852. As will be appreciated, the removable storage unit 854 includes a computer usable storage medium having stored therein computer software and/or data.

[0077] In alternative embodiments, secondary memory 847 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 840. Such means can include, for example, a removable storage unit 862 and an interface 860. Examples can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 862 and interfaces 860 which allow software and data to be transferred from the removable storage unit 862 to computer system 840.

[0078] Computer system 840 can also include a communications interface 864. Communications interface 864 allows software and data to be transferred between computer system 840 and external devices via communications path 866. Examples of communications interface 864 can include a modem, a network interface (such as Ethernet card), a communications port, etc. Software and data transferred via communications interface 864 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 864, via communications path 866. Note that communications interface 864 provides a means by which computer system 840 can interface to a network such as the Internet.

[0079] The present invention can be implemented using software running (that is, executing) in an environment similar to that described above with respect to FIG. 8A. In this document, the term “computer program product” is used to generally refer to removable storage unit 854, a hard disk installed in hard disk drive 850, or a carrier wave carrying software over a communication path 866 (wireless link or cable) to communication interface 864. A computer useable medium can include magnetic media, optical media, or other recordable media, or media that transmits a carrier wave or other signal. These computer program products are means for providing software to computer system 840.

[0080] Computer programs (also called computer control logic) are stored in main memory 846 and/or secondary memory 847. Computer programs can also be received via communications interface 864. Such computer programs, when executed, enable the computer system 840 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 844 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 840.

[0081] The present invention can be implemented as control logic in software, firmware, hardware or any combination thereof. In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 840 using removable storage drive 852, hard drive 850, or interface 860. Alternatively, the computer program product may be downloaded to computer system 840 over communications path 866. The control logic (software), when executed by the one or more processors 844, causes the processor(s) 844 to perform the functions of the invention as described herein.

[0082] In another embodiment, the invention is implemented primarily in firmware and/or hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of a hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).

CONCLUSION

[0083] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. For example, the present invention can involve other types of markets and information, such as website user traffic statistics, that can be collected via a network.

[0084] Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. A method of generating employment market statistics from a network, comprising the steps of: (a) accessing an employment resource via the network, the employment resource comprising data; (b) matching the data to one of a plurality of employment market categories; and (c) updating at least one statistical indicator associated with the matched employment market category.
 2. The method of claim 1, wherein step (c) comprises the step of incrementing a counter associated with the matched employment market category.
 3. The method of claim 1, wherein step (c) comprises the step of calculating a ratio of resumes associated with the matched employment market category to job listings associated with the matched employment market category.
 4. The method of claim 1, wherein step (c) comprises the steps of: incrementing a first counter associated with the matched employment market category when the employment resource is a resume; and incrementing a second counter associated with the matched employment market category when the employment resource is a job listing.
 5. The method of claim 1, wherein each of the plurality of market categories corresponds to a particular labor type and region.
 6. The method of claim 1, wherein step (b) comprises the steps of: matching the employment resource to a raw category; matching the employment resource to an interim category; and matching the employment resource to an employment market category.
 7. The method of claim 1, wherein the employment resource is a resume.
 8. The method of claim 1, wherein the employment resource is a job listing.
 9. The method of claim 1, wherein step (a) comprises the steps of: sending a client request across the network to a server; and receiving the employment resource via the network.
 10. The method of claim 1, further comprising the steps of: repeating steps (a) through (c) for each of a plurality of employment resources; and for each of the plurality of market categories, plotting the associated statistical indicator.
 11. The method of claim 1, wherein step (c) comprises the steps of: marking the updated statistical indicator with a time stamp that indicates a current time interval; and storing the marked statistical indicator.
 12. A method of generating market statistics from a network, comprising the steps of: (a) accessing a resource via the network, the resource comprising data; (b) matching the data to one of a plurality of market categories; and (c) updating at least one statistical indicator associated with the matched market category.
 13. A system for generating employment market statistics from a network, comprising: means for accessing an employment resource via the network, the employment resource comprising data; means for matching the data to one of a plurality of employment market categories; and means for updating at least one statistical indicator associated with the matched employment market category.
 14. The system of claim 13, wherein said means for updating at least one statistical indicator comprises means for incrementing a counter associated with the matched employment market category.
 15. The system of claim 13, wherein said means for updating at least one statistical indicator comprises means for calculating a ratio of resumes associated with the matched employment market category to job listings associated with the matched employment market category.
 16. The system of claim 13, wherein said means for updating at least one statistical indicator comprises: means for incrementing a first counter associated with the matched employment market category when the employment resource is a resume; and means for incrementing a second counter associated with the matched employment market category when the employment resource is a job listing.
 17. The system of claim 13, wherein each of the plurality of market categories corresponds to a particular labor type and region.
 18. The system of claim 13, wherein said means for matching the data to one of a plurality of employment market categories comprises: means for matching the employment resource to a raw category; means for matching the employment resource to an interim category; and means for matching the employment resource to an employment market category.
 19. The system of claim 13, wherein the employment resource is a resume.
 20. The system of claim 13, wherein the employment resource is a job listing.
 21. The system of claim 13, wherein said means for accessing an employment resource comprises: means for sending a client request across the network to a server; and means for receiving the employment resource via the network.
 22. The system of claim 13, further comprising means for plotting the associated statistical indicator for each of the plurality of market categories.
 23. A system for generating employment market statistics from a network, comprising: a spider engine that accesses an employment resource via the network, the employment resource comprising data; and a statistical analysis engine that matches the data to one of a plurality of employment market categories, and updates at least one statistical indicator associated with the matched employment market category.
 24. A computer program product comprising a computer useable medium having computer program logic stored therein, said computer program logic for generating employment market statistics from a network, wherein said computer program logic comprises: means for enabling the computer to access an employment resource via the network, the employment resource comprising data; means for enabling the computer to match the data to one of a plurality of employment market categories; and means for enabling the computer to update at least one statistical indicator associated with the matched employment market category.
 25. The computer program product of claim 24, wherein said means for enabling the computer to update at least one statistical indicator comprises means for incrementing a counter associated with the matched employment market category.
 26. The computer program product of claim 24, wherein said means for enabling the computer to update at least one statistical indicator comprises means for enabling the computer to calculate a ratio of resumes associated with the matched employment market category to job listings associated with the matched employment market category.
 27. The computer program product of claim 24, wherein said means for enabling the computer to update at least one statistical indicator comprises: means for enabling the computer to increment a first counter associated with the matched employment market category when the employment resource is a resume; and means for enabling the computer to increment a second counter associated with the matched employment market category when the employment resource is a job listing.
 28. The computer program product of claim 24, wherein each of the plurality of market categories corresponds to a particular labor type and region.
 29. The computer program product of claim 24, wherein said means for enabling the computer to match the data to one of a plurality of employment market categories comprises: means for enabling the computer to match the employment resource to a raw category; means for enabling the computer to match the employment resource to an interim category; and means for enabling the computer to match the employment resource to an employment market category.
 30. The computer program product of claim 24, wherein the employment resource is a resume.
 31. The computer program product of claim 24, wherein the employment resource is a job listing.
 32. The computer program product of claim 24, wherein said means for enabling the computer to access an employment resource comprises: means for enabling the computer to send a client request across the network to a server; and means for enabling the computer to receive the employment resource via the network.
 33. The computer program product of claim 24, further comprising means for enabling the computer to plot the associated statistical indicator for each of the plurality of market categories. 